import BaseModel from './BaseModel'
import API from '@/api/apis'
import { DateFormat } from 'yb-tool'
import Filters from "../../utils/filters";

/**
 * 工作模型
 */
class WorkModel extends BaseModel {
  // 构造方法
  constructor() {
    super()
    /**
     * 开始时间
     * @type {string}
     */
    this.startTime = ''
    this.startTimeStr = ''
    /**
     * 结束时间
     * @type {string}
     */
    this.endTime = ''
    this.endTimeStr = ''
    /**
     * 显示的时间间隔字符串
     * @type {string}
     */
    this.timeIntervalStr = ''
    /**
     * 公司名称
     * @type {string}
     */
    this.name = ''
    /**
     * 公司图片
     * @type {string}
     */
    this.icon = ''
    /**
     * 详情
     * @type {string}
     */
    this.detail = ''
    /**
     * 职责
     * @type {string}
     */
    this.obligation = ''
    /**
     * 官网
     * @type {string}
     */
    this.url = ''
    /**
     * ====================== URL 相关 ====================================
     */
    /**
     * 获取详情数据的URL
     * @type {String}
     */
    this.detailUrl = API.work.detail
    /**
     * 删除数据的URL
     * @type {String}
     */
    this.removeUrl = API.work.remove
    /**
     * 添加数据的URL
     * @type {String}
     */
    this.addUrl = API.work.add
    /**
     * 更新数据的URL
     * @type {String}
     */
    this.updateUrl = API.work.update
    /**
     * 添到回收站的URL
     * @type {String}
     */
    this.dustbinPushUrl = API.work.dustbinPush
    /**
     * 回收站还原的URL
     * @type {String}
     */
    this.dustbinPopUrl = API.work.dustbinPop
    /**
     * 添加修改数据的KEY数组
     * @type {Array}
     */
    this.addOrUpdateKeyArr = ['startTime', 'endTime', 'name', 'icon', 'detail', 'obligation', 'url']
  }

  /* ----- 获取指定图片大小 -------*/
  /**
   * 手机端我的界面图片
   * @returns {*|string}
   */
  get mMeIcon() {
    return Filters.imageFill(this.icon, 3.2, 3.2, 'rem')
  }

  /**
   * PC端我的界面图片
   * @returns {*|string}
   */
  get pcMeIcon() {
    return Filters.imageFill(this.icon, 200, 200)
  }

  /**
   * 数据拦截
   * @param json
   */
  setDataWithJson(json) {
    super.setDataWithJson(json)
    this.startTimeStr = DateFormat(json.startTime, 'YYYY-MM-DD')
    this.endTimeStr = DateFormat(json.endTime, 'YYYY-MM-DD')
    this.timeIntervalStr = `${this.startTimeStr} - ${this.endTimeStr}`
  }
}

/**
 * 列表加载URL
 * @type {String}
 */
WorkModel.listUrl = API.work.all
/**
 * 获取所有回收站数据
 * @type {String}
 */
WorkModel.dustbinAllUrl = API.work.dustbinAll

export default WorkModel
